home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 November / PCWorld_2007-11_cd.bin / domácnost a kancelar / opencontacts / setup.exe / {app} / DataSet / Templates / XmlToMozillaLDIF.xsl < prev   
Encoding:
Extensible Markup Language  |  2007-08-18  |  12.3 KB  |  318 lines

  1. ∩╗┐<?xml version="1.0" encoding="UTF-8"?>
  2. <!--For exporting contacts to LDIF Mozilla format.
  3. -->
  4. <xsl:stylesheet version="1.0"
  5. xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  6.   <xsl:output method="xml" encoding="UTF-8" />
  7.  
  8.   <xsl:template match="/">
  9.  
  10.  
  11.  
  12.     <xsl:for-each select="OpenContacts/Contacts/Contact">
  13.  
  14.       <contact>
  15.         cn: <xsl:value-of select="@Name"/>
  16.         sn: <xsl:value-of select="@Surname"/>
  17.         givenName: <xsl:value-of select="@GivenName"/>
  18.         title: <xsl:value-of select="@Title"/>
  19.         description:: <xsl:value-of select="Notes"/>
  20.         <xsl:for-each select="Sections/Section">
  21.           <xsl:choose>
  22.             <xsl:when test="@Name='Personal'">
  23.  
  24.               <xsl:for-each select="Fields/Field">
  25.                 <xsl:choose>
  26.                   <xsl:when test="@Name='Nick Name'">
  27.                     mozillaNickname: <xsl:value-of select="@Value"/>
  28.                   </xsl:when>
  29.                   <xsl:when test="@Name='Mobile'">
  30.                     mobile: <xsl:value-of select="@Value"/>
  31.                   </xsl:when>
  32.                   <xsl:when test="@Name='Phone'">
  33.                     homePhone: <xsl:value-of select="@Value"/>
  34.                   </xsl:when>
  35.                   <xsl:when test="@Name='Fax'">
  36.                     fax: <xsl:value-of select="@Value"/>
  37.                   </xsl:when>
  38.                   <xsl:when test="@Name='Pager'">
  39.                     pager: <xsl:value-of select="@Value"/>
  40.                   </xsl:when>
  41.                   <xsl:when test="@Name='Primary Email'">
  42.                     mail: <xsl:value-of select="@Value"/>
  43.                   </xsl:when>
  44.                   <xsl:when test="@Name='City'">
  45.                     mozillaHomeLocalityName: <xsl:value-of select="@Value"/>
  46.                   </xsl:when>
  47.                   <xsl:when test="@Name='Country'">
  48.                     mozillaHomeState: <xsl:value-of select="@Value"/>
  49.                   </xsl:when>
  50.                   <xsl:when test="@Name='Postcode'">
  51.                     mozillaHomePostalCode: <xsl:value-of select="@Value"/>
  52.                   </xsl:when>
  53.                   <xsl:when test="@Name='State'">
  54.                     mozillaHomeState: <xsl:value-of select="@Value"/>
  55.                   </xsl:when>
  56.                   <xsl:when test="@Name='Street'">
  57.                     homeStreet: <xsl:value-of select="@Value"/>
  58.                   </xsl:when>
  59.                   <xsl:when test="@Name='Street'">
  60.                     mozillaHomeStreet2: <xsl:value-of select="@Value"/>
  61.                   </xsl:when>
  62.                   <xsl:when test="@Name='Address'">
  63.                     homeStreet: <xsl:value-of select="@Value"/>
  64.                   </xsl:when>
  65.                   <xsl:when test="@Name='Web'">
  66.                     <WebPage>
  67.                       <xsl:value-of select="@Value"/>
  68.                     </WebPage>
  69.                   </xsl:when>
  70.                   <xsl:when test="@Name='Hobby'">
  71.                     <Hobby>
  72.                       <xsl:value-of select="@Value"/>
  73.                     </Hobby>
  74.                   </xsl:when>
  75.                   <xsl:when test="@Name='Gender'">
  76.                     <Gender>
  77.                       <xsl:value-of select="@Value"/>
  78.                     </Gender>
  79.                   </xsl:when>
  80.                   <xsl:when test="@Name='Children'">
  81.                     <Children>
  82.                       <xsl:value-of select="@Value"/>
  83.                     </Children>
  84.                   </xsl:when>
  85.                   <xsl:when test="@Name='Email'">
  86.                     <Email1Address>
  87.                       <xsl:value-of select="@Value"/>
  88.                     </Email1Address>
  89.                   </xsl:when>
  90.                   <xsl:when test="@Name='Email2'">
  91.                     <Email2Address>
  92.                       <xsl:value-of select="@Value"/>
  93.                     </Email2Address>
  94.                   </xsl:when>
  95.                   <xsl:when test="@Name='Email3'">
  96.                     <Email3Address>
  97.                       <xsl:value-of select="@Value"/>
  98.                     </Email3Address>
  99.                   </xsl:when>
  100.                   <xsl:when test="@Name='Mobile'">
  101.                     <MobileTelephoneNumber>
  102.                       <xsl:value-of select="@Value"/>
  103.                     </MobileTelephoneNumber>
  104.                   </xsl:when>
  105.                   <xsl:when test="@Name='Nick Name'">
  106.                     <NickName>
  107.                       <xsl:value-of select="@Value"/>
  108.                     </NickName>
  109.                   </xsl:when>
  110.                   <xsl:when test="@Name='Spouse'">
  111.                     <Spouse>
  112.                       <xsl:value-of select="@Value"/>
  113.                     </Spouse>
  114.                   </xsl:when>
  115.                   <xsl:when test="@Name='Suffix'">
  116.                     <Suffix>
  117.                       <xsl:value-of select="@Value"/>
  118.                     </Suffix>
  119.                   </xsl:when>
  120.                   <xsl:when test="@Name='Primary Phone'">
  121.                     <PrimaryTelephoneNumber>
  122.                       <xsl:value-of select="@Value"/>
  123.                     </PrimaryTelephoneNumber>
  124.                   </xsl:when>
  125.                   <xsl:when test="@Name='Pager'">
  126.                     <PagerNumber>
  127.                       <xsl:value-of select="@Value"/>
  128.                     </PagerNumber>
  129.                   </xsl:when>
  130.                   <xsl:when test="@Name='Birthday'">
  131.                     <Birthday>
  132.                       <xsl:value-of select="@Value"/>
  133.                     </Birthday>
  134.                   </xsl:when>
  135.                   <xsl:when test="@Name='Anniversary'">
  136.                     <Anniversary>
  137.                       <xsl:value-of select="@Value"/>
  138.                     </Anniversary>
  139.                   </xsl:when>
  140.  
  141.  
  142.                 </xsl:choose>
  143.               </xsl:for-each>
  144.  
  145.             </xsl:when>
  146.  
  147.             <xsl:when test="@Name='Work'">
  148.  
  149.               <xsl:for-each select="Fields/Field">
  150.                 <xsl:choose>
  151.  
  152.                   <xsl:when test="@Name='Phone2'">
  153.                     <Business2TelephoneNumber>
  154.                       <xsl:value-of select="@Value"/>
  155.                     </Business2TelephoneNumber>
  156.                   </xsl:when>
  157.                   <xsl:when test="@Name='City'">
  158.                     <BusinessAddressCity>
  159.                       <xsl:value-of select="@Value"/>
  160.                     </BusinessAddressCity>
  161.                   </xsl:when>
  162.                   <xsl:when test="@Name='Country'">
  163.                     <BusinessAddressCountry>
  164.                       <xsl:value-of select="@Value"/>
  165.                     </BusinessAddressCountry>
  166.                   </xsl:when>
  167.                   <xsl:when test="@Name='Postcode'">
  168.                     <BusinessAddressPostalCode>
  169.                       <xsl:value-of select="@Value"/>
  170.                     </BusinessAddressPostalCode>
  171.                   </xsl:when>
  172.                   <xsl:when test="@Name='PO Box'">
  173.                     <BusinessAddressPostOfficeBox>
  174.                       <xsl:value-of select="@Value"/>
  175.                     </BusinessAddressPostOfficeBox>
  176.                   </xsl:when>
  177.                   <xsl:when test="@Name='State'">
  178.                     <BusinessAddressState>
  179.                       <xsl:value-of select="@Value"/>
  180.                     </BusinessAddressState>
  181.                   </xsl:when>
  182.                   <xsl:when test="@Name='Street'">
  183.                     <BusinessAddressStreet>
  184.                       <xsl:value-of select="@Value"/>
  185.                     </BusinessAddressStreet>
  186.                   </xsl:when>
  187.                   <xsl:when test="@Name='Fax'">
  188.                     <BusinessFaxNumber>
  189.                       <xsl:value-of select="@Value"/>
  190.                     </BusinessFaxNumber>
  191.                   </xsl:when>
  192.                   <xsl:when test="@Name='Address'">
  193.                     <BusinessLabel>
  194.                       <xsl:value-of select="@Value"/>
  195.                     </BusinessLabel>
  196.                   </xsl:when>
  197.                   <xsl:when test="@Name='Phone'">
  198.                     <BusinessTelephoneNumber>
  199.                       <xsl:value-of select="@Value"/>
  200.                     </BusinessTelephoneNumber>
  201.                   </xsl:when>
  202.                   <xsl:when test="@Name='Web'">
  203.                     <BusinessWebPage>
  204.                       <xsl:value-of select="@Value"/>
  205.                     </BusinessWebPage>
  206.                   </xsl:when>
  207.                   <xsl:when test="@Name='Assistant'">
  208.                     <AssistantName>
  209.                       <xsl:value-of select="@Value"/>
  210.                     </AssistantName>
  211.                   </xsl:when>
  212.                   <xsl:when test="@Name='Primary Phone'">
  213.                     <CompanyMainTelephoneNumber>
  214.                       <xsl:value-of select="@Value"/>
  215.                     </CompanyMainTelephoneNumber>
  216.                   </xsl:when>
  217.                   <xsl:when test="@Name='Company'">
  218.                     <CompanyName>
  219.                       <xsl:value-of select="@Value"/>
  220.                     </CompanyName>
  221.                   </xsl:when>
  222.                   <xsl:when test="@Name='Department'">
  223.                     <Department>
  224.                       <xsl:value-of select="@Value"/>
  225.                     </Department>
  226.                   </xsl:when>
  227.                   <xsl:when test="@Name='Manager'">
  228.                     <ManagerName>
  229.                       <xsl:value-of select="@Value"/>
  230.                     </ManagerName>
  231.                   </xsl:when>
  232.                   <xsl:when test="@Name='Profession'">
  233.                     <Profession>
  234.                       <xsl:value-of select="@Value"/>
  235.                     </Profession>
  236.                   </xsl:when>
  237.                   <xsl:when test="@Name='Title'">
  238.                     <JobTitle>
  239.                       <xsl:value-of select="@Value"/>
  240.                     </JobTitle>
  241.                   </xsl:when>
  242.  
  243.  
  244.                 </xsl:choose>
  245.               </xsl:for-each>
  246.  
  247.             </xsl:when>
  248.  
  249.             <xsl:when test="@Name='Other'">
  250.  
  251.               <xsl:for-each select="Fields/Field">
  252.                 <xsl:choose>
  253.                   <xsl:when test="@Name='City'">
  254.                     <OtherAddressCity>
  255.                       <xsl:value-of select="@Value"/>
  256.                     </OtherAddressCity>
  257.                   </xsl:when>
  258.                   <xsl:when test="@Name='Country'">
  259.                     <OtherAddressCountry>
  260.                       <xsl:value-of select="@Value"/>
  261.                     </OtherAddressCountry>
  262.                   </xsl:when>
  263.                   <xsl:when test="@Name='Postcode'">
  264.                     <OtherAddressPostalCode>
  265.                       <xsl:value-of select="@Value"/>
  266.                     </OtherAddressPostalCode>
  267.                   </xsl:when>
  268.                   <xsl:when test="@Name='PO Box'">
  269.                     <OtherAddressPostOfficeBox>
  270.                       <xsl:value-of select="@Value"/>
  271.                     </OtherAddressPostOfficeBox>
  272.                   </xsl:when>
  273.                   <xsl:when test="@Name='State'">
  274.                     <OtherAddressState>
  275.                       <xsl:value-of select="@Value"/>
  276.                     </OtherAddressState>
  277.                   </xsl:when>
  278.                   <xsl:when test="@Name='Street'">
  279.                     <OtherAddressStreet>
  280.                       <xsl:value-of select="@Value"/>
  281.                     </OtherAddressStreet>
  282.                   </xsl:when>
  283.                   <xsl:when test="@Name='Fax'">
  284.                     <OtherFaxNumber>
  285.                       <xsl:value-of select="@Value"/>
  286.                     </OtherFaxNumber>
  287.                   </xsl:when>
  288.                   <xsl:when test="@Name='Address'">
  289.                     <OtherLabel>
  290.                       <xsl:value-of select="@Value"/>
  291.                     </OtherLabel>
  292.                   </xsl:when>
  293.                   <xsl:when test="@Name='Phone'">
  294.                     <OtherTelephoneNumber>
  295.                       <xsl:value-of select="@Value"/>
  296.                     </OtherTelephoneNumber>
  297.                   </xsl:when>
  298.  
  299.  
  300.                 </xsl:choose>
  301.               </xsl:for-each>
  302.  
  303.             </xsl:when>
  304.  
  305.           </xsl:choose>
  306.  
  307.  
  308.         </xsl:for-each>
  309.  
  310.  
  311.  
  312.  
  313.  
  314.       </contact>
  315.     </xsl:for-each>
  316.   </xsl:template>
  317.  
  318. </xsl:stylesheet>